Hybris UX Api
TMF639 - patchLogicalResource
This operation allows to reserve or release from the inventory for below use cases:
- Postpaid MSISDN, eSIM(ICCID)
- Prepaid MSISDN, eSIM(ICCID)
URL
http://[localhost]:[port]/ecom-ux/v1/{businessId}/logicalResource/{id}URL PARAMS
| name | type | description | required |
|---|---|---|---|
| businessId | String | 2 letter ISO 3166 country code (PA, JM) identifying the business unit. | Y |
| id | string | Resource identification number for which needs to patch the data. | Y |
Headers
| name | type | description | required |
|---|---|---|---|
| client_id | string | The client-id identifying the channel. Minimum characters: 5 | Y |
| client_secret | string | Password associated with the client-id. Minimum characters: 5 | Y |
| X-Correlation-ID | string | Identifier that correlates HTTP request between a client and server. Any identification model (UUDI, checksum, etc.) can be used, as long as it is a unique value to differentiate a transaction. | N |
Data Model - Request
| field name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A, conditionallyMandatory-C/M) |
|---|---|---|---|
| resourceStatus | String | Tracks the lifecycle status of the resource, such as planning, installing, operating, retiring and so on. Possible values for PA: available, reserved Possible values for JM: reserved | Y (PA), Y(JM for PREPAID & POSTPAID) |
| @type | String | type of the concrete resource. Possible value for PA: MSISDN, ESIM | Y(PA), Y(JM for PREPAID & POSTPAID) |
| relatedParty[].id | String | unique identifier of Customer | Y(PA), Y(JM for PREPAID & POSTPAID MSISDN) |
| relatedParty[].name | String | name of Customer | Y(PA only for PREPAID usecase), N/A(JM) |
| relatedParty[].role | String | Role played by the related party | C/M (PA only for POSTPAID ESIM usecase), N/A(JM) |
| relatedParty[].'@referredType' | String | Defines the type of the 'relatedParty[].id' Eg: Customer, Employee | Y(PA), Y(JM for PREPAID & POSTPAID MSISDN only) |
| resourceCharacteristic[].name | String | Name of the characteristic Possible values for PA: SERVICE | Y(PA), Y(JM for PREPAID & POSTPAID) |
| resourceCharacteristic[].valueType | String | Data type of the value of the characteristic | Y(PA), Y(JM for PREPAID & POSTPAID) |
| resourceCharacteristic[].value | String | Value of the characteristic Possible values for PA: POSTPAID, PREPAID | Y(PA), Y(JM for PREPAID & POSTPAID) |
relatedParty subResource -Data Model
| field name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A, conditionalMandatory- C/M) | examples |
|---|---|---|---|---|
| relatedParty[].'@referredType' == "Customer" | String | Customer Name | C/M (PA), Y(JM for POSTPAID MSISDN) | PA(ESIM): { "id": "Lakshmi", "@referredType" : "Customer" } JM(MSISDN): { "id": "38926687", "@referredType" : "Customer" } |
| relatedParty[].'@referredType' == "Employee" | String | Employee number | C/M (PA only for POSTPAID), N/A(JM) | PA(MSISDN): { "id": "<**>", "@referredType" : "Employee" } PA(ESIM): { "id": "<**>", "role": "authorizer", "@referredType" : "Employee" } |
resourceCharacteristic subResource -Data Model
| field name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A) | examples |
|---|---|---|---|---|
| resourceCharacteristic[].name == "SERVICE" | String | Type of the Service Possible Value for PA, JM: POSTPAID,PREPAID | Y(PA, JM only for POSTPAID) | PA, JM (MSISDN & ESIM): { "name": "SERVICE", "valueType": "string", "value": "POSTPAID" } |
| resourceCharacteristic[].name == "NumberArea" | String | Type of the NumberArea Example Value for PA: MOV | Y(PA only for POSTPAID),N/A(JM) | PA(MSISDN): { "name": "NumberArea", "valueType": "string", "value": "MOV" } |
| resourceCharacteristic[].name == "BillingAccount.id" | String | Customer billingAccount | Y(PA only for POSTPAID),N/A(JM) | PA(MSISDN): { "name": "BillingAccount.id", "valueType": "string", "value": "358155960000" } |
| resourceCharacteristic[].name == "ServiceType" | String | Type of the ServiceType Possible Value for JM: CE (Cellular) | Y(JM only for POSTPAID MSISDN),N/A(PA) | JM (MSISDN): { "name": "ServiceType", "valueType": "string", "value": "CE" } |
| resourceCharacteristic[].name == "ReserveUntil" | String | Type of the Service Possible Value for JM: Provide future Date | Y(JM only for POSTPAID MSISDN),N/A(PA) | JM (MSISDN): { "name": "ReserveUntil", "valueType": "string", "value": "26-02-2026T14:40:43.000-05:00" } |
| resourceCharacteristic[].name == "CardStatusReason" | String | card status reason Possible Value for JM: "R" | Y(JM only for POSTPAID ESIM),N/A(PA) | JM (ESIM): { "name": "CardStatusReason", "valueType": "string", "value": "R" } |
| resourceCharacteristic[].name == "NumberStatusReason" | String | number status reason Possible Value for JM: "17" | Y(JM only for POSTPAID MSISDN),N/A(PA) | JM (MSISDN): { "name": "NumberStatusReason", "valueType": "string", "value": "17" } |
Data Model - Response
| field name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A, conditionalMandatory- C/M) |
|---|---|---|---|
| id | String | Identifier of an instance of the resource. Required to be unique within the resource type. | Y(PA),Y(JM) |
| href | String | Hyperlink reference | Y(PA only for POSTPAID),Y(JM) |
| resourceStatus | String | Tracks the lifecycle status of the resource, such as planning, installing, operating, retiring and so on. Possible values for PA: available, reserved Possible values for JM: reserved | Y(PA),Y(JM) |
| @type | String | type of the concrete resource. Possible value for PA & JM: MSISDN, ESIM | Y(PA only for POSTPAID),Y(JM) |
| relatedParty[].id | String | unique identifier | Y(PA only for POSTPAID),Y(JM for POSTPAID MSISDN) |
| relatedParty[].role | String | Role played by the related party | C/M (PA : ESIM only for POSTPAID),N/A(JM) |
| relatedParty[].'@referredType' | String | The actual type of the target instance when needed for disambiguation. | Y (PA only for POSTPAID),Y(JM for POSTPAID MSISDN) |
| resourceCharacteristic[].name | String | Name of the characteristic | Y(PA only for POSTPAID),Y(JM) |
| resourceCharacteristic[].valueType | String | Data type of the value of the characteristic | Y(PA only for POSTPAID),Y(JM) |
| resourceCharacteristic[].value | String | Value of the characteristic | Y(PA only for POSTPAID),Y(JM) |
| resourceType | String | Type of the concrete resource. Possible value for PA: MSISDN, ESIM | Y(PA only for PREPAID),N/A(JM) |
relatedParty subResource -Data Model
| field name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A,conditionalMandatory- C/M) | examples |
|---|---|---|---|---|
| relatedParty[].'@referredType' == "Customer" | String | Customer Name | Y(PA only for POSTPAID),Y(JM for POSTPAID MSISDN) | PA(ESIM): { "id": "Lakshmi", "@referredType" : "Customer" } JM(MSISDN): { "id": "38926687", "@referredType" : "Customer" } |
| relatedParty[].'@referredType' == "Employee" | String | Employee number | C/M (PA only for POSTPAID),N/A (JM) | PA(MSISDN): { "id": "<*>", "@referredType" : "Employee" } PA(ESIM): { "id": "<**>", "role": "authorizer", "@referredType" : "Employee" } |
resourceCharacteristic subResource -Data Model
| field name | type | description | required (mandatory-Y, optional-N, Not applicable- N/A) | examples |
|---|---|---|---|---|
| resourceCharacteristic[].name == "SERVICE" | String | Type of the Service Possible Value for PA, JM: POSTPAID,PREPAID | Y (PA, JM only for POSTPAID) | PA, JM (MSISDN & ESIM): { "name": "SERVICE", "valueType": "string", "value": "POSTPAID" } |
| resourceCharacteristic[].name == "NumberArea" | String | Type of the NumberArea Example Value for PA: MOV | Y(PA),N/A(JM) | PA(MSISDN): { "name": "NumberArea", "valueType": "string", "value": "MOV" } |
| resourceCharacteristic[].name == "BillingAccount.id" | String | Customer billingAccount | Y(PA),N/A(JM) | PA(MSISDN): { "name": "BillingAccount.id", "valueType": "string", "value": "358155960000" } |
| resourceCharacteristic[].name == "ServiceType" | String | Type of the ServiceType Possible Value for JM: CE (Cellular) | Y(JM only for POSTPAID MSISDN),N/A(PA) | JM (MSISDN): { "name": "ServiceType", "valueType": "string", "value": "CE" } |
| resourceCharacteristic[].name == "ReserveUntil" | String | Type of the Service Possible Value for JM: Provide future Date | Y(JM only for POSTPAID MSISDN),N/A(PA) | JM (MSISDN): { "name": "ReserveUntil", "valueType": "string", "value": "26-02-2026T14:40:43.000-05:00" } |
| resourceCharacteristic[].name == "CardStatusReason" | String | card status reason Possible Value for JM: "R" | Y(JM only for POSTPAID ESIM),N/A(PA) | JM (ESIM): { "name": "CardStatusReason", "valueType": "string", "value": "R" } |
| resourceCharacteristic[].name == "NumberStatusReason" | String | number status reason Possible Value for JM: "17" | Y(JM only for POSTPAID MSISDN),N/A(PA) | JM (MSISDN): { "name": "NumberStatusReason", "valueType": "string", "value": "17" } |
Key considerations
Service number(MSISDN) usecase for PA
POSTPAID
- As this is implemented for mobile postpaid customers, if resourceCharacteristic[].name == "SERVICE" then value should be "POSTPAID".
- For MSISDN resourceCharacteristic[].name == "NumberArea" ,For FAST TRACK provisioning, the following value="MOV" is currently working in the Non-Prod environment. However, for the PROD instance, the channel must discuss and finalize the appropriate value with the business, which then need to be configured in the Liberate PROD instance.
- For MSISDN resourceCharacteristic[].name == "BillingAccount.id" then value should be customer billingAccount.
- To reserve/release a MSISDN, set the @type to MSISDN.
- To reserve a MSISDN, set the resourceStatus to "reserved".
- To release a MSISDN, set the resourceStatus to "available".
- If relatedParty[].'@referredType' == "Employee", the following relatedParty[].id value we need to pass employee code. However, for the PROD instance, the channel must discuss and finalize the appropriate values with the business, which then need to be configured in the Liberate PROD instance.
- For reserve/release MSISDN, refer to note section for API specification.PREPAID
- As this is implemented for mobile prepaid customers, if resourceCharacteristic[].name == "SERVICE" then value should be "PREPAID".
- To reserve/release a MSISDN, set the @type to MSISDN.
- To reserve a MSISDN, set the resourceStatus to "reserved".
- To release a MSISDN, set the resourceStatus to "available".
- If relatedParty[].'@referredType' == "Customer" then Customer Name should be passed in relatedParty[].name
- For reserve/release MSISDN, refer to note section for API specification.eSIM (ICCID) usecase for PA
POSTPAID
- As this is implemented for mobile postpaid customers, if resourceCharacteristic[].name == "SERVICE" then value should be "POSTPAID".
- To reserve/release a eSIM(ICCID), set the @type to ESIM.
- To reserve a eSIM(ICCID), set the resourceStatus to "reserved".
- To release a eSIM(ICCID), set the resourceStatus to "available".
- If relatedParty[].'@referredType' == "Employee" and relatedParty[].role == "authorizer" are given then employee number should be passed in relatedParty[].id
- If relatedParty[].'@referredType' == "Customer" then Customer billing account id should be passed in relatedParty[].id
- For reserve/release eSIM(ICCID), refer to note section for API specification.PREPAID
- As this is implemented for mobile prepaid customers, if resourceCharacteristic[].name == "SERVICE" then value should be "PREPAID".
- To reserve/release a eSIM, set the @type to eSIM.
- To reserve a eSIM, set the resourceStatus to "reserved".
- To release a eSIM, set the resourceStatus to "available".
- If relatedParty[].'@referredType' == "Customer" then Customer Name should be passed in relatedParty[].name
- For reserve/release eSIM, refer to note section for API specification.Service number(MSISDN) usecase for JM
POSTPAID
- This is implemented for postpaid customers for JM market.
- If resourceCharacteristic[].name = "SERVICE", then set its value to "POSTPAID".
- If resourceCharacteristic[].name = "NumberStatusReason" for MSISDN reservation, set its value to "17" (TBD - Pending confirmation from Liberate).
- If resourceCharacteristic[].name = "ServiceType", set its value to "CE". (as this request is for Mobile, serviceType should be set as "CE")
- If resourceCharacteristic[].name = "ReserveUntil", set the value to a future date/time when MSISDN should remain reserved.
- To reserve MSISDN, set @type = "MSISDN" and resourceStatus = "reserved".
- If relatedParty[].@referredType = "customer", set relatedParty[].id = customerNumber.
- For PROD environment, final values must be confirmed with business and configured in Liberate PROD.
- For reserve MSISDN, refer to note section for API specification.eSIM (ICCID) usecase for JM
POSTPAID
- This is implemented for postpaid customers for JM market.
- If resourceCharacteristic[].name = "SERVICE", then set its value to "POSTPAID" because this setup is for postpaid mobile customers.
- To reserve an eSIM (ICCID), set @type = "ESIM" and resourceStatus = "reserved".
- If resourceCharacteristic[].name = "CardStatusReason" for ICCID, then its value must be "R".
- For PROD, the channel must confirm and finalize these values with the business team before configuring them in Liberate PROD.
- For reserve eSIM(ICCID), refer to note section for API specification.Note : For request and response examples please refer to this URL Patch LogicalResource Specification